*** Appendix 9: Disaggregated conspiracy beliefs

*** Explore variation in the effects of different single-item measures of conspiracy beliefs

use  data_long.dta, clear

fre conspiracy_planes conspiracy_vaccins conspiracy_cars conspiracy_world

gen conspiracy_planes_r = 1 - ((conspiracy_planes - 1) / 4)
tab conspiracy_planes conspiracy_planes_r
gen conspiracy_vaccins_r = 1 - ((conspiracy_vaccins - 1) / 4)
gen conspiracy_cars_r = 1 - ((conspiracy_cars - 1) / 4)
gen conspiracy_world_r = 1 - ((conspiracy_world - 1) / 4)

sum conspiracy_planes_r conspiracy_vaccins_r conspiracy_cars_r conspiracy_world_r, det
pwcorr conspiracy_planes_r conspiracy_vaccins_r conspiracy_cars_r conspiracy_world_r


local controls1 "age female educ_secondary educ_prof_high educ_acad_high i.exp"
local controls2a "authoritarian conspiracy_sum	know_sum	pred_bundes_gov_r	pred_Russia_r	" // for main effects model
local controls2b "authoritarian					know_sum	pred_bundes_gov_r	pred_Russia_r	" // for interaction models


*************************************************************

*** Figure: Effects of the four conspiracy items 

*************************************************************

*****************************************
*** Hybrid propaganda / Russian viewpoint
*****************************************

matrix matrix1_all = J(9,3,.) // 3 column for lower ci, estimate, upper ci

*Average effect, all experiments
mixed poolexp i.treat_exp `controls1' `controls2a' || lfdn:
mat r=r(table)
matrix list r // show what is in the r matrix to be able to specify what we want to extract
matrix matrix1_all[1, 1] = r[1,2] // Note: first number in bracket references the row, the second the column
matrix matrix1_all[1, 2] = r[5,2]
matrix matrix1_all[1, 3] = r[6,2]
matrix list matrix1_all // show target matrix to check if everything worked

*By airplanes conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_planes_r `controls1' `controls2b' || lfdn:
margins, dydx(2.treat_exp) at(conspiracy_planes_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_all[2, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_all[2, 2] = r[5,3]
matrix matrix1_all[2, 3] = r[6,3]
matrix matrix1_all[3, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_all[3, 2] = r[5,4]
matrix matrix1_all[3, 3] = r[6,4]
matrix list matrix1_all

*By vaccine conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_vaccins_r `controls1' `controls2b' || lfdn:
margins, dydx(2.treat_exp) at(conspiracy_vaccins_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_all[4, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_all[4, 2] = r[5,3]
matrix matrix1_all[4, 3] = r[6,3]
matrix matrix1_all[5, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_all[5, 2] = r[5,4]
matrix matrix1_all[5, 3] = r[6,4]
matrix list matrix1_all

*By cars conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_cars_r `controls1' `controls2b' || lfdn:
margins, dydx(2.treat_exp) at(conspiracy_cars_r=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_all[6, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_all[6, 2] = r[5,3]
matrix matrix1_all[6, 3] = r[6,3]
matrix matrix1_all[7, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_all[7, 2] = r[5,4]
matrix matrix1_all[7, 3] = r[6,4]
matrix list matrix1_all


*By secret agreements conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_world `controls1' `controls2b' || lfdn:
margins, dydx(2.treat_exp) at(conspiracy_world=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_all[8, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_all[8, 2] = r[5,3]
matrix matrix1_all[8, 3] = r[6,3]
matrix matrix1_all[9, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_all[9, 2] = r[5,4]
matrix matrix1_all[9, 3] = r[6,4]
matrix list matrix1_all


*****************************************
*** Mainstream / Western viewpoint
*****************************************

matrix matrix2_all = J(9,3,.) // 3 column for lower ci, estimate, upper ci

*Average effect, all experiments
mixed poolexp i.treat_exp `controls1' `controls2a' || lfdn:
mat r=r(table)
matrix list r // show what is in the r matrix to be able to specify what we want to extract
matrix matrix2_all[1, 1] = r[1,4] // Note: first number in bracket references the row, the second the column
matrix matrix2_all[1, 2] = r[5,4]
matrix matrix2_all[1, 3] = r[6,4]
matrix list matrix2_all // show target matrix to check if everything worked

*By airplanes conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_planes_r `controls1' `controls2b' || lfdn:
margins, dydx(4.treat_exp) at(conspiracy_planes_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_all[2, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_all[2, 2] = r[5,3]
matrix matrix2_all[2, 3] = r[6,3]
matrix matrix2_all[3, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_all[3, 2] = r[5,4]
matrix matrix2_all[3, 3] = r[6,4]
matrix list matrix2_all

*By vaccine conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_vaccins_r `controls1' `controls2b' || lfdn:
margins, dydx(4.treat_exp) at(conspiracy_vaccins_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_all[4, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_all[4, 2] = r[5,3]
matrix matrix2_all[4, 3] = r[6,3]
matrix matrix2_all[5, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_all[5, 2] = r[5,4]
matrix matrix2_all[5, 3] = r[6,4]
matrix list matrix2_all

*By cars conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_cars `controls1' `controls2b' || lfdn:
margins, dydx(4.treat_exp) at(conspiracy_cars=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_all[6, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_all[6, 2] = r[5,3]
matrix matrix2_all[6, 3] = r[6,3]
matrix matrix2_all[7, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_all[7, 2] = r[5,4]
matrix matrix2_all[7, 3] = r[6,4]
matrix list matrix2_all


*By secret agreements conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_world `controls1' `controls2b' || lfdn:
margins, dydx(4.treat_exp) at(conspiracy_world=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_all[8, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_all[8, 2] = r[5,3]
matrix matrix2_all[8, 3] = r[6,3]
matrix matrix2_all[9, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_all[9, 2] = r[5,4]
matrix matrix2_all[9, 3] = r[6,4]
matrix list matrix2_all


*****************************************
*** Russian sourcing
*****************************************

matrix matrix1_source_all = J(9,3,.) // 3 column for lower ci, estimate, upper ci

*Average effect, all experiments
mixed poolexp i.treat_exp `controls1' `controls2a' || lfdn:
mat r=r(table)
matrix list r // show what is in the r matrix to be able to specify what we want to extract
matrix matrix1_source_all[1, 1] = r[1,3] // Note: first number in bracket references the row, the second the column
matrix matrix1_source_all[1, 2] = r[5,3]
matrix matrix1_source_all[1, 3] = r[6,3]
matrix list matrix1_source_all // show target matrix to check if everything worked

*By airplanes conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_planes_r `controls1' `controls2b' || lfdn:
margins, dydx(3.treat_exp) at(conspiracy_planes_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_source_all[2, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_source_all[2, 2] = r[5,3]
matrix matrix1_source_all[2, 3] = r[6,3]
matrix matrix1_source_all[3, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_source_all[3, 2] = r[5,4]
matrix matrix1_source_all[3, 3] = r[6,4]
matrix list matrix1_source_all

*By vaccine conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_vaccins_r `controls1' `controls2b' || lfdn:
margins, dydx(3.treat_exp) at(conspiracy_vaccins_r=(.75 1)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_source_all[4, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_source_all[4, 2] = r[5,3]
matrix matrix1_source_all[4, 3] = r[6,3]
matrix matrix1_source_all[5, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_source_all[5, 2] = r[5,4]
matrix matrix1_source_all[5, 3] = r[6,4]
matrix list matrix1_source_all

*By cars conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_cars `controls1' `controls2b' || lfdn:
margins, dydx(3.treat_exp) at(conspiracy_cars=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_source_all[6, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_source_all[6, 2] = r[5,3]
matrix matrix1_source_all[6, 3] = r[6,3]
matrix matrix1_source_all[7, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_source_all[7, 2] = r[5,4]
matrix matrix1_source_all[7, 3] = r[6,4]
matrix list matrix1_source_all


*By secret agreements conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_world `controls1' `controls2b' || lfdn:
margins, dydx(3.treat_exp) at(conspiracy_world=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix1_source_all[8, 1] = r[1,3] // conspiracy belief strong
matrix matrix1_source_all[8, 2] = r[5,3]
matrix matrix1_source_all[8, 3] = r[6,3]
matrix matrix1_source_all[9, 1] = r[1,4] // conspiracy belief weak
matrix matrix1_source_all[9, 2] = r[5,4]
matrix matrix1_source_all[9, 3] = r[6,4]
matrix list matrix1_source_all


*****************************************
*** Western sourcing
*****************************************

matrix matrix2_source_all = J(9,3,.) // 3 column for lower ci, estimate, upper ci


*Average effect, all experiments
mixed poolexp i.treat_exp `controls1' `controls2a' || lfdn:
mat r=r(table)
matrix list r // show what is in the r matrix to be able to specify what we want to extract
matrix matrix2_source_all[1, 1] = r[1,5] // Note: first number in bracket references the row, the second the column
matrix matrix2_source_all[1, 2] = r[5,5]
matrix matrix2_source_all[1, 3] = r[6,5]
matrix list matrix2_source_all // show target matrix to check if everything worked

*By airplanes conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_planes_r `controls1' `controls2b' || lfdn:
margins, dydx(5.treat_exp) at(conspiracy_planes_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_source_all[2, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_source_all[2, 2] = r[5,3]
matrix matrix2_source_all[2, 3] = r[6,3]
matrix matrix2_source_all[3, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_source_all[3, 2] = r[5,4]
matrix matrix2_source_all[3, 3] = r[6,4]
matrix list matrix2_source_all

*By vaccine conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_vaccins_r `controls1' `controls2b' || lfdn:
margins, dydx(5.treat_exp) at(conspiracy_vaccins_r=(.75 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_source_all[4, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_source_all[4, 2] = r[5,3]
matrix matrix2_source_all[4, 3] = r[6,3]
matrix matrix2_source_all[5, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_source_all[5, 2] = r[5,4]
matrix matrix2_source_all[5, 3] = r[6,4]
matrix list matrix2_all

*By cars conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_cars `controls1' `controls2b' || lfdn:
margins, dydx(5.treat_exp) at(conspiracy_cars=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_source_all[6, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_source_all[6, 2] = r[5,3]
matrix matrix2_source_all[6, 3] = r[6,3]
matrix matrix2_source_all[7, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_source_all[7, 2] = r[5,4]
matrix matrix2_source_all[7, 3] = r[6,4]
matrix list matrix2_source_all


*By secret agreements conspiracy, all experiments
mixed poolexp i.treat_exp##c.conspiracy_world `controls1' `controls2b' || lfdn:
margins, dydx(5.treat_exp) at(conspiracy_world=(1 0)) // predicted for 5 and 95 percent percentile
mat r=r(table)
matrix list r
matrix matrix2_source_all[8, 1] = r[1,3] // conspiracy belief strong
matrix matrix2_source_all[8, 2] = r[5,3]
matrix matrix2_source_all[8, 3] = r[6,3]
matrix matrix2_source_all[9, 1] = r[1,4] // conspiracy belief weak
matrix matrix2_source_all[9, 2] = r[5,4]
matrix matrix2_source_all[9, 3] = r[6,4]
matrix list matrix2_source_all



*** Hybrid propaganda (Russian viewpoint) and mainstream viewpoint (Western viewpoint)
coefplot  (matrix(matrix1_all[,1]), ci((matrix1_all[,2] matrix1_all[,3])))  (matrix(matrix1_source_all[,1]), ci((matrix1_source_all[,2] matrix1_source_all[,3]))), bylabel("Anti-mainstream frame;" "Russian source") ///
       || (matrix(matrix2_all[,1]), ci((matrix2_all[,2] matrix2_all[,3]))) (matrix(matrix2_source_all[,1]), ci((matrix2_source_all[,2] matrix2_source_all[,3]))), bylabel("Mainstream frame;" "Western source") ///
       ||, scheme(s1mono) drop(_cons) xline(0) ///
		headings(r2 = "By beliefs in airplanes conspiracy" r4 = "By beliefs in vaccine conspiracy" r6 = "By beliefs in cars conspiracy" r8 = "By beliefs in secret agreement conspiracy") ///
		coeflabels(r1="Total sample" r2="Strong" r3="Weak" r4="Strong" r5="Weak" r6="Strong" r7="Weak" r8="Strong" r9="Weak")  name(FigA3, replace) ///
		xscale(range(-.4 (.1) .4)) xlabel(-.4 (.1) .4) ///
		xsize(6) ysize(4) legend(off)
addplot 1: , legend(order(2 "Frame only" 4 "Frame + source")) norescaling

*capture graph export FigA3.pdf, replace
*NOTE: The position of the legend in FigA3 was edited by hand for the published paper